package se.kernel;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class ThreadEsperarConversaciones extends Thread
{

    private ClienteLocal cliente;
    private ComunicacionServidor com;

    public ThreadEsperarConversaciones( ClienteLocal cliente, ComunicacionServidor com )
    {
        super( );
        this.cliente = cliente;
        this.com = com;
    }

    @Override
    public void run( )
    {
        super.run( );
        try
        {
            esperarContactos( );
        }
        catch( IOException e )
        {
            e.printStackTrace( );
        }
        catch( ClienteException e )
        {
            e.printStackTrace( );
        }
    }

    private void esperarContactos( ) throws IOException, ClienteException
    {
        boolean activo = true;
        ServerSocket sockEscucha = new ServerSocket( 8765 );
        while( activo )
        {
            Socket sockConv = sockEscucha.accept( );
            Conversacion conversacion = new Conversacion( cliente, sockConv, com, false, null );
            cliente.getConversacionesActivas( ).add( conversacion );
        }
    }

}
